using UnityEngine;
using System.Collections;

public class HeroMovement
{
    public const float SPEED_SMOOTHING = 10.0f;
    public const float ROTATION_SMOOTHING = 10.0f;

    //Any State
    public Vector3 mDirection = Vector3.zero;
    public bool mIsMoving = false;
    public CollisionFlags mCollisionFlags;
    public Vector3 mVelocity = Vector3.zero;
    public bool mCanControl = true;

    //Ground Related
    public const float WALKBACK_SPEED = 2.0f;
    public const float WALK_SPEED = 2.5f;
    public const float RUN_SPEED = 10.0f;
    public float mSpeed = 0.0f;

    //Air Related
    public const float GRAVITY = -40.0f;
    public const float BASE_JUMP_MIN_FORCE = 11.0f;
    public const float BASE_JUMP_ADD_FORCE = 2.0f;
    public const float MAX_FALL_SPEED = 65.0f;
    public const float IN_AIR_CONTROL_ACCELERATION = 10.0f;
    public const float IN_AIR_CONTROL_DECELERATION = 10.0f;
    public const float JUMP_INPUT_REPEAT_TIME = 0.05f;
    public const float JUMP_TIMEOUT = 0.15f;
    public bool mCanJump = true;
    public float mVerticalSpeed = 0.0f;
    public Vector3 mInAirVelocity = Vector3.zero;
    public float mHangTime = 0.0f;
    public bool mIsJumping = false;
    public bool mReachedApex = false;
    public float mLastInputTime = -10.0f;
    public float mLastJumpTime = -1.0f;
    public float mLastStartingHeight = 0.0f;

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}
